package com.yjhh.chdataservice.service;

import com.yjhh.chdataservice.beans.*;
import com.yjhh.chdataservice.except.YJHHException;
import com.yjhh.chdataservice.util.CommonResultData;
import com.yjhh.chdataservice.util.PageResultData;

import java.util.List;
import java.util.Map;

/**
 * Created by hlantian on 2017/9/26.
 * 辅助决策安置点管理service
 */
public interface FZJCPlacementPointService {


    CommonResultData<List<PointStaticsInfoVo>> getPointStaticsByAreaCode(String areaCode) throws YJHHException;
    
    CommonResultData<List<PlacementPointSimpleVo>> getPlacementPointListByAreaCode(String areaCode) throws YJHHException;
    
    CommonResultData<PlacementPointDetailVo> getPlacementPointDetailByPointId(String areaCode) throws YJHHException;

    CommonResultData<PlacementPointServiceStatisticsVo> getPlacementPointServicesStatisticsByAreaCode(String areaCode) throws YJHHException;

    CommonResultData<List<PlacementPointPlanVo>> getPlacementPointYearPlanByAreaCode(String areaCode) throws YJHHException;

    CommonResultData<List<TPJYPostTypeInfoVo>> getJYGWInfoByAreaCode(String areaCode) throws YJHHException;

    CommonResultData<PlacementPointStartedAndMoveInVo> getPointStartedAndMoveInStatisticsByAreaCode(String areaCode) throws YJHHException;

    CommonResultData<List<PlacementPointSimpleInfoVo>> getAllPlacementPointByAreaCode(String areaCode,String areaType) throws YJHHException;

    CommonResultData<PointVillageAndPeopleVo> getMoveInPointVillageAndPeopleCountByPointId(String pointId) throws YJHHException;
    
    CommonResultData<List<CommonNameValueVo>> getPointScaleStatisticsByAreaCode(String areaCode) throws YJHHException;
    
    CommonResultData<List<CommonNameValueVo>> getPointSelectedAddrStatisticsByAreaCode(String areaCode) throws YJHHException;
    
    CommonResultData<List<CommonNameValueVo>> getThrowOffPovertyInfoByAreacode(String areaCode) throws YJHHException;
    
    CommonResultData<Map<String,Long>> getStartAndEndPointStatisticsByAreaCode(String areaCode) throws YJHHException;
    
    CommonResultData<Map<String,Long>> getTurnKeyAndMoveInObjByAreaCode(String areaCode) throws YJHHException;

    CommonResultData<MovePeopleNumVo> getPlacementScaleByPointId(String pointId) throws YJHHException;

    PageResultData<List<ObjBaseInfoVo>> getRelocatedFamily(String pointId, String relFamilyName, String idCard,
                                                     String removalType, String sftp,int pageNum,int size) throws YJHHException;


    CommonResultData<PlacementScaleVo> getMovingObject(String areaCode) throws YJHHException;

    CommonResultData<MoveObjChartVo> searchMovingObject(SearchMoveObjVo searchMoveObjVo) throws YJHHException;

    PageResultData<List<ObjBaseInfoVo>> searchObjBaseInfo(SearchMoveObjVo searchMoveObjVo)throws YJHHException;

    CommonResultData<SysDeptInfoVo> getSysDeptInfo(String areaCode)throws YJHHException;

    CommonResultData<PlacementPointChartVo> searchPlacementPoint(SearchPlacementPointVo searchPlacementPoint) throws YJHHException;

    PageResultData<List<PlacementPointBaseInfoVo>> searchPlacementPointBaseInfo(SearchPlacementPointVo searchPlacementPoint) throws YJHHException;
    
    CommonResultData<PlacementPointSimpleBaseInfoVo> getPlacementPointDetailByPointName(String pointName) throws YJHHException;
    
    CommonResultData<List<PlacementPointBaseInfoVo>> getPlacementPointListByPointName(String pointName) throws YJHHException;
    
    CommonResultData<List<PlacementPointSimpleBaseInfoVo>> getAllPlacementPointList() throws YJHHException;
    
    CommonResultData<List<PointScaleStaticsInfoVo>> getPointScaleStaticsByAreaCode(String areaCode) throws YJHHException;
}
